package com.yg.entity.readAndWriteTemplates;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="CourseBuild对象", description="对应sheet09表，此表为课程建设情况一览表")
public class CourseBuildRead {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "序号")
    @ExcelProperty(value = "序号")
    private int num;

    @ApiModelProperty(value = "课程名称")
    @ExcelProperty(value = "课程名称")
    private String name;

    @ApiModelProperty(value = "课程建设团队")
    private String headAndPlayers;

    @ExcelProperty(value = "课程建设团队负责人")
    private String head;

    @ExcelProperty(value = "课程建设队员")
    private String players;

    @ApiModelProperty(value = "建设起止时间")
    private String startAndEnd;

    @ExcelProperty(value = "建设开始时间")
    @DateTimeFormat("yyyy.MM")
    private String start;

    @ExcelProperty(value = "建设结束时间")
    @DateTimeFormat("yyyy.MM")
    private String end;

    @ApiModelProperty(value = "经费")
    @ExcelProperty(value = "建设总经费（万元）")
    private Integer fund;

    @ApiModelProperty(value = "课程建设级别：0：省级，1：校级")
    @ExcelProperty(value = "课程建设级别")
    private String level;

    @ApiModelProperty(value = "课程建设级别：0：省级，1：校级")
    private String level1;

    @ApiModelProperty(value = "课程类型：0:在线开放课程，1:线上线下混合式一流，2:线下一流，3:社会实践一流")
    @ExcelProperty(value = "课程建设类型")
    private String category;

    @ApiModelProperty(value = "课程类型：0:在线开放课程，1:线上线下混合式一流，2:线下一流，3:社会实践一流")
    private String category1;

    @ApiModelProperty(value = "课程类型：0:在线开放课程，1:线上线下混合式一流，2:线下一流，3:社会实践一流")
    private String category2;

    @ApiModelProperty(value = "课程类型：0:在线开放课程，1:线上线下混合式一流，2:线下一流，3:社会实践一流")
    private String category3;

    private String id;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtModified;

    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer deleted;

}
